The present invention relates to the pattern used by stationary bar code reader to scan a light beam over the bar code. In particular, the present invention relates to automatically varying the angle or slope at which the bar code is scanned to accommodate modern high density bar codes and poorly oriented bar codes.
Developments in bar codes have produced multi-row bar codes. Bar codes such as multi-row bar codes which include optically readable formations other than a single row of bars (e.g. UPC symbol) are commonly referred to as two-dimensional (i.e. information is obtained from more than one scan line). These codes have been introduced to encode significantly more information than possible with conventional single-row bar codes. FIGS. 16A, 16B and 16C illustrate three different multi-row bar codes. The code in FIG. 16A is known as Code 49, the code in FIG. 16B is known as Codablock, and the code in FIG. 16C is known as PDF417. Various two-dimension codes of this type have been available for over five (5) years. However, bar code readers capable of reading such codes have limited availability, and those which are available typically have limited reliability.
Two-dimension codes are particularly difficult to read with fixed-station (stationary) bar code readers because reliable code reading requires that the scan lines for the light beam remain within a single row of the code while reading the information associated therewith. This requirement makes the codes difficult to read because the rows are kept narrow to increase the density of information within the bar code. A limited number of two-dimension bar codes (e.g. PDF417) have relaxed this requirement by allowing scan lines to cross up to three (3) rows which corresponds to less than two (2) degrees of tilt. However, due to added data manipulation required during decoding when scan lines cross rows, decoding becomes relatively complex.
As a result of the foregoing constraints, stationary bar code readers must be aligned relative to the packages passing thereby almost perfectly, and the bar codes on the labels must also be attached to the packages in substantially perfect alignment. However, these requirements are unrealistic and unworkable. More specifically, hand-placement of labels on packages is difficult to maintain within .+-. ten (10) degrees, and stationary bar code readers can only be aligned repeatably within .+-. five (5) degrees. In addition to label and reader misalignment, bulging of package cartons affects label alignment and is almost impossible to control without changing the carton design.
In view of the foregoing problems introduced when reading two-dimension bar codes, it would be desirable to provide a bar code reader capable of scanning along lines having a large range of angles (slopes), and capable of automatically varying the angles to adapt to changes in code orientation.